home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 05.zip / BS1 part 5 / ANC_UTULITYS_16.adf / bootsource.S < prev    next >
Text File  |  1987-01-01  |  932b  |  66 lines

  1. execbase:    equ    4
  2. findresident:    equ    -$60
  3. doio:        equ    -$1c8
  4. location:    equ    $50000
  5.  
  6. org    location
  7. load    location
  8.  
  9. dc.b    'DOS',0
  10. dc.l    $0
  11. dc.l    $370
  12. start:
  13.     move.w    #$8100,$dff096
  14.     move.l    #location,a2
  15.     lea.l    blocklong(pc),a3
  16.     move.l    (a3),d1
  17.     move.l    #0,a3
  18.     move.l    #0,d2
  19. checkloop:
  20.     bclr    d2,d1
  21.     bne    loadthis
  22.     add.l    #$0200,a3
  23.     addq.l    #1,d2
  24.     tst.l    d1
  25.     bne    checkloop
  26.     bra    fertig_geladen
  27.  
  28. loadthis:
  29.     move.l    execbase,a6
  30.     move.w    #2,28(a1)
  31.     move.l    a3,44(a1)
  32.     move.l    a2,40(a1)
  33.     move.l    #$0200,36(a1)
  34.     movem.l    d1-d2/a1-a3,-(a7)
  35.     jsr    doio(a6)
  36.     movem.l    (a7)+,d1-d2/a1-a3
  37.     add.l    #$0200,a3
  38.     add.l    #$0200,a2
  39.     addq.l    #1,d2
  40.     tst.l    d0
  41.     beq    checkloop
  42.     bra    continue_boot
  43. fertig_geladen:
  44.     jsr    begin
  45. continue_boot:
  46.     move.l    execbase,a6
  47.     lea    dosname(pc),a1
  48.     jsr    findresident(a6)
  49.     tst.l    d0
  50.     beq    boot_failed
  51.     move.l    d0,a0
  52.     move.l    22(a0),a0
  53.     moveq    #0,d0
  54.     rts
  55. boot_failed:
  56.     moveq    #1,d0
  57.     rts
  58.  
  59. dosname:    dc.b    'dos.library',0
  60. blocklong:    dc.l    $00000001
  61. even
  62.  
  63. begin:
  64.     rts
  65. finito:
  66.